package com.ruibang.glass.material.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.teaming.cloud.framework2.common.pojo.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import lombok.Data;

import javax.validation.constraints.NotBlank;

/**
 * <p>
 * 容器管理表
 * </p>
 *
 * @author songJinKang
 * @since 2024-03-25
 */
@Data
@ApiModel(value = "玻璃容器管理")
@TableName(value = "g_material_glass_container_manager")
public class GlassContainerManager extends BaseEntity {
    @ApiModelProperty(value = "主键ID")
    @TableId(value = "container_id", type = IdType.ASSIGN_ID)
    private String containerId;

    @ApiModelProperty(value = "容器类型:1：A型架，2：水平托盘")
    @NotBlank(message = "容器类型不可为空")
    private String containerType;

    @ApiModelProperty(value = "容器编号")
    @NotBlank(message = "容器编号不可为空")
    private String containerCode;

    @ApiModelProperty(value = "仓库ID")
    private String warehouseId;
    @ApiModelProperty(value = "库位ID")
    private String warehousePositionId;

    @ApiModelProperty(value = "是否使用：1：是，0：否")
    @NotBlank(message = "使用状态不可为空")
    private String isUse;

    @ApiModelProperty(value = "更新人用户名称")
    private String updateUserName;
    @ApiModelProperty(value = "更新人用户ID")
    private String updateUserId;

    @ApiModelProperty(value = "是否删除：1：是 0：否")
    @TableLogic
    private String isDelete;


    @ApiModelProperty(value = "仓库名称")
    @TableField(exist = false)
    private String warehouseName;
    @ApiModelProperty(value = "库位名称")
    @TableField(exist = false)
    private String warehousePositionName;
    @ApiModelProperty(value = "状态ID")
    @TableField(exist = false)
    private String statusId;
    @ApiModelProperty(value = "状态名称")
    @TableField(exist = false)
    private String statusName;


    @ApiModelProperty(value = "批次号")
    @TableField(exist = false)
    private String batchNumber;

    @ApiModelProperty(value = "玻璃类型:2=成品,3=半成品,6=外购半成品")
    @TableField(exist = false)
    private String glassType;

    @ApiModelProperty(value = "状态:0=待收包,3=待质检,6=待入库,8=入库中,10=已入库,20=已出库")
    @TableField(exist = false)
    private String inStatus;

    @ApiModelProperty(value = "质检状态(1=质检通过,-1=质检未通过,0:未质检")
    @TableField(exist = false)
    private String mesStatus;

    @ApiModelProperty(value = "绑定玻璃数量")
    @TableField(exist = false)
    private Integer glassBindNum;
}
